  perl.c	AOK

  gv_check(defstash)
	Name \"%s::%s\" used only once: possible typo 

  Mandatory Warnings All TODO
  ------------------
  Recompile perl with -DDEBUGGING to use -D switch	[moreswitches]
  Unbalanced scopes: %ld more ENTERs than LEAVEs	[perl_destruct]
  Unbalanced saves: %ld more saves than restores	[perl_destruct]
  Unbalanced tmps: %ld more allocs than frees		[perl_destruct]
  Unbalanced context: %ld more PUSHes than POPs		[perl_destruct]
  Unbalanced string table refcount: (%d) for \"%s\"	[perl_destruct]
  Scalars leaked: %ld					[perl_destruct]


__END__
# perl.c
no warnings 'once' ;
$x = 3 ;
use warnings 'once' ;
$z = 3 ;
EXPECT
Name "main::z" used only once: possible typo at - line 5.
########
-w
# perl.c
$x = 3 ;
no warnings 'once' ;
$z = 3 
EXPECT
Name "main::x" used only once: possible typo at - line 3.
########
# perl.c
BEGIN { $^W =1 ; }
$x = 3 ;
no warnings 'once' ;
$z = 3 
EXPECT
Name "main::x" used only once: possible typo at - line 3.
########
# perl.c
use warnings 'once';
$\; # test a few
$:; # punct vars
$0; # and
$123; # numbers
$_;    # and
$_foo;  # underscores (none of which should warn)
EXPECT
########
-W
# perl.c
no warnings 'once' ;
$x = 3 ;
use warnings 'once' ;
$z = 3 ;
EXPECT
OPTION random
Name "main::z" used only once: possible typo at - line 6.
Name "main::x" used only once: possible typo at - line 4.
########
-X
# perl.c
use warnings 'once' ;
$x = 3 ;
EXPECT
########

# perl.c
{ use warnings 'once' ; $x = 3 ; }
$y = 3 ;
EXPECT
Name "main::x" used only once: possible typo at - line 3.
########

# perl.c
$z = 3 ;
BEGIN { $^W = 1 }
{ no warnings 'once' ; $x = 3 ; }
$y = 3 ;
EXPECT
Name "main::y" used only once: possible typo at - line 6.
########

# perl.c
use utf8;
use open qw( :utf8 :std );
no warnings 'once' ;
$ᛪ = 3 ;
use warnings 'once' ;
$ȥ = 3 ;
EXPECT
Name "main::ȥ" used only once: possible typo at - line 8.
########
-w
# perl.c
use utf8;
use open qw( :utf8 :std );
$ᛪ = 3 ;
no warnings 'once' ;
$ȥ = 3;
EXPECT
Name "main::ᛪ" used only once: possible typo at - line 5.
########
# perl.c
use utf8;
use open qw( :utf8 :std );
BEGIN { $^W =1 ; }
$ᛪ = 3 ;
no warnings 'once' ;
$ȥ = 3 
EXPECT
Name "main::ᛪ" used only once: possible typo at - line 5.
########
-W
# perl.c
use utf8;
use open qw( :utf8 :std );
no warnings 'once' ;
$ᛪ = 3 ;
use warnings 'once' ;
$ȥ = 3 ;
EXPECT
OPTION random
Name "main::ȥ" used only once: possible typo at - line 8.
Name "main::ᛪ" used only once: possible typo at - line 6.
########
-X
# perl.c
use utf8;
use open qw( :utf8 :std );
use warnings 'once' ;
$ᛪ = 3 ;
EXPECT
########

# perl.c
use utf8;
use open qw( :utf8 :std );
{ use warnings 'once' ; $ᛪ = 3 ; }
$ŷ = 3 ;
EXPECT
Name "main::ᛪ" used only once: possible typo at - line 5.
########

# perl.c
use utf8;
use open qw( :utf8 :std );
$ȥ = 3 ;
BEGIN { $^W = 1 }
{ no warnings 'once' ; $ᛪ = 3 ; }
$ŷ = 3 ;
EXPECT
Name "main::ŷ" used only once: possible typo at - line 8.
########


# perl.c
use utf8;
use open qw( :utf8 :std );
package ɕლȃṢȿ;
no warnings 'once' ;
$ᛪ = 3 ;
use warnings 'once' ;
$ȥ = 3 ;
EXPECT
Name "ɕლȃṢȿ::ȥ" used only once: possible typo at - line 10.
########
-w
# perl.c
use utf8;
use open qw( :utf8 :std );
package ɕლȃṢȿ;
$ᛪ = 3 ;
no warnings 'once' ;
$ȥ = 3 
EXPECT
Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 6.
########
# perl.c
use utf8;
use open qw( :utf8 :std );
package ɕლȃṢȿ;
BEGIN { $^W =1 ; }
$ᛪ = 3 ;
no warnings 'once' ;
$ȥ = 3 
EXPECT
Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 6.
########
-W
# perl.c
use utf8;
use open qw( :utf8 :std );
package ɕლȃṢȿ;
no warnings 'once' ;
$ᛪ = 3 ;
use warnings 'once' ;
$ȥ = 3 ;
EXPECT
OPTION random
Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 7.
Name "ɕლȃṢȿ::ȥ" used only once: possible typo at - line 9.
########
-X
# perl.c
use utf8;
use open qw( :utf8 :std );
use warnings 'once' ;
package ɕლȃṢȿ;
$ᛪ = 3 ;
EXPECT
########

# perl.c
use utf8;
use open qw( :utf8 :std );
package ɕლȃṢȿ;
{ use warnings 'once' ; $ᛪ = 3 ; }
$ŷ = 3 ;
EXPECT
Name "ɕლȃṢȿ::ᛪ" used only once: possible typo at - line 6.
########

# perl.c
use utf8;
use open qw( :utf8 :std );
package ɕლȃṢȿ;
$ȥ = 3 ;
BEGIN { $^W = 1 }
{ no warnings 'once' ; $ᛪ = 3 ; }
$ŷ = 3 ;
EXPECT
Name "ɕლȃṢȿ::ŷ" used only once: possible typo at - line 9.
########

use warnings 'once';
$foo++; BEGIN { eval q|@a =~ s///; sub foo;| }
EXPECT
Name "main::foo" used only once: possible typo at - line 3.
########

use warnings 'once';
BEGIN { ${"_<".__FILE__} = \1 } # should not affect file name in warning
$foo++;
EXPECT
Name "main::foo" used only once: possible typo at - line 4.
########

use warnings 'once'; # necessary to trigger the crash
BEGIN{*MUSHROOMS::mushrooms::MUSHROOMS:: = *MUSHROOMS::} # circularity
$foo++;
EXPECT
Name "main::foo" used only once: possible typo at - line 4.
